#!/bin/bash
set -e  # 出现错误立即退出

# 配置参数
BUILD_DIR="./build"
PYTHON_DEPS="matplotlib pandas datetime"

# 1. 安装系统依赖
echo "----- 安装系统依赖 -----"
sudo apt-get update && sudo apt-get install -y \
    build-essential \
    cmake \
    python3 \
    python3-pip \
    || { echo "依赖安装失败"; exit 1; }

# 2. 安装Python依赖
echo "----- 安装Python包 -----"
pip3 install --user ${PYTHON_DEPS} || { 
    echo "Python依赖安装失败，尝试使用sudo...";
    sudo pip3 install ${PYTHON_DEPS} || exit 1;
}

# 3. 创建构建目录
echo "----- 准备构建环境 -----"
rm -rf "${BUILD_DIR}"
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"

# 4. 构建项目
echo "----- 编译项目 -----"
cmake .. > /dev/null && make --silent || {
    echo "构建失败，请检查错误信息"
    exit 1
}

# 5. 验证安装
echo "----- 验证安装 -----"
if [ -x "./fuzzy-pid" ]; then
    echo "安装成功！可执行文件路径: $(realpath ./fuzzy-pid)"
    echo "运行程序请执行: cd ${BUILD_DIR} && ./fuzzy-pid"
else
    echo "错误：未找到可执行文件"
    exit 1
fi

echo "环境安装完成"
